// // pages/shopcar/shopcar.js
// Page({

//   /**
//    * 页面的初始数据
//    */
//   data: {
//     isAllSelect:false,
//     isSelect:false,
//     iscart: false,
//     cart: [], //数据
//     count: 1,   //商品数量默认是1
//     total: 0,    //总金额
//     goodsCount: 0 //数量

//   },

//   /**
//    * 生命周期函数--监听页面加载
//    */
//   onLoad: function (options) {

//   },

//   /**
//    * 生命周期函数--监听页面初次渲染完成
//    */
//   onReady: function () {

//   },
  
// //勾选事件处理函数  
// switchSelect: function (e) {
//     // 获取item项的id，和数组的下标值  
//     var Allprice = 0,i=0;
//     let id = e.target.dataset.id,
  
//     index = parseInt(e.target.dataset.index);
//     this.data.carts[index].isSelect = !this.data.carts[index].isSelect;
//     //价钱统计
//     if (this.data.carts[index].isSelect) {
//       this.data.total = this.data.total+ this.data.carts[index].price;
//     }
//     else {
//       this.data.total = this.data.total - this.data.carts[index].price;
//     }
//    //是否全选判断
//     for (i = 0; i < this.data.carts.length; i++) {
//       Allprice = Allprice + this.data.carts[i].price;
//     }
//     if (Allprice == this.data.total)
//     {
//       this.data.isAllSelect=true;
//     }
//     else 
//     {
//       this.data.isAllSelect = false;
//     }
//     this.setData({
//       carts: this.data.carts,
//       total: this.data.total,
//       isAllSelect: this.data.isAllSelect,
//     })
//   },
//   //全选
//   allSelect: function (e) {
//     //处理全选逻辑
//     let i = 0;
//     if (!this.data.isAllSelect)
//     {
//       for (i = 0; i < this.data.carts.length; i++) {
//         this.data.carts[i].isSelect = true;
//         this.data.total = this.data.total + this.data.carts[i].price;
//       }
//     }
//     else
//     {
//       for (i = 0; i < this.data.carts.length; i++) {
//         this.data.carts[i].isSelect = false;
//       }
//       this.data.total=0;
//     }
//     this.setData({
//       carts: this.data.carts,
//       isAllSelect: !this.data.isAllSelect,
//       total: this.data.total,
//     })
//   },
//   // 去结算
//   toBuy() {
//     wx.showToast({
//       title: '去结算',
//       icon: 'success',
//       duration: 3000
//     });
//     this.setData({
//       showDialog: !this.data.showDialog
//     });
//   },
//   //数量变化处理
//   handleQuantityChange(e) {
//     var componentId = e.componentId;
//     var quantity = e.quantity;
//     this.data.carts[componentId].count.quantity = quantity;
//     this.setData({
//       carts: this.data.carts,
//     });
//   },
//   /**
//    * 生命周期函数--监听页面显示
//    */
//   onShow: function () {
//     var that = this;
//         // 获取产品展示页保存的缓存数据（购物车的缓存数组，没有数据，则赋予一个空数组）
//         var arr = wx.getStorageSync('cart') || [];
//         // 有数据的话，就遍历数据，计算总金额 和 总数量
//         if (arr.length > 0) {
//             for (var i in arr) {
//                 that.data.total += Number(arr[i].price) * Number(arr[i].count);
//                 that.data.goodsCount += Number(arr[i].count);
//             }
//             // 更新数据
//             this.setData({
//                 iscart: true,
//                 cart: arr,
//                 total: that.data.total,
//                 goodsCount: that.data.goodsCount
//             });
//         }
//   },

//   /**
//    * 生命周期函数--监听页面隐藏
//    */
//   onHide: function () {
//     // 清除数据
//     this.setData({
//       iscart: false,
//       cart: [], //数据
//       total: 0,    //总金额
//       goodsCount: 0 //数量
//   });

//   },

//   /**
//    * 生命周期函数--监听页面卸载
//    */
//   onUnload: function () {

//   },

//   /**
//    * 页面相关事件处理函数--监听用户下拉动作
//    */
//   onPullDownRefresh: function () {

//   },

//   /**
//    * 页面上拉触底事件的处理函数
//    */
//   onReachBottom: function () {

//   },

//   /**
//    * 用户点击右上角分享
//    */
//   onShareAppMessage: function () {

//   },
//   /* 减数 */
//   delCount: function (e) {
//     console.log(e)
//     // 获取购物车该商品的数量
//     // [获取设置在该btn的id,即list的index值]
//     if (this.data.cart[e.target.id.substring(3)].count <= 1) {
//         return;
//     }
//     // 商品总数量-1
//     this.data.goodsCount -= 1;
//     // 总价钱 减去 对应项的价钱单价
//     this.data.total -= Number(this.data.cart[e.target.id.substring(3)].price);
//     // 购物车主体数据对应的项的数量-1  并赋给主体数据对应的项内
//     this.data.cart[e.target.id.substring(3)].count = --this.data.cart[e.target.id.substring(3)].count;
//     // 更新data数据对象
//     this.setData({
//         cart: this.data.cart,
//         total: this.data.total,
//         goodsCount: this.data.goodsCount
//     })
//     // 主体数据重新赋入缓存内
//     try {
//         wx.setStorageSync('cart', this.data.cart)
//     } catch (e) {
//         console.log(e)
//     }
// },
// /* 加数 */
// addCount: function (e) {
//     // 商品总数量+1
//     this.data.goodsCount += 1;
//     // 总价钱 加上 对应项的价钱单价
//     this.data.total += Number(this.data.cart[e.target.id.substring(3)].price);
//     // 购物车主体数据对应的项的数量+1  并赋给主体数据对应的项内
//     this.data.cart[e.target.id.substring(3)].count = ++this.data.cart[e.target.id.substring(3)].count;
//     // 更新data数据对象
//     this.setData({
//         cart: this.data.cart,
//         total: this.data.total,
//         goodsCount: this.data.goodsCount
//     })
//     // 主体数据重新赋入缓存内
//     try {
//         wx.setStorageSync('cart', this.data.cart)
//     } catch (e) {
//         console.log(e)
//     }
// },
// /* 删除item */
// delGoods: function (e) {
//     // 商品总数量  减去  对应删除项的数量
//     this.data.goodsCount = this.data.goodsCount - this.data.cart[e.target.id.substring(3)].count;
//     // 总价钱  减去  对应删除项的单价*数量
//     this.data.total -= this.data.cart[e.target.id.substring(3)].price * this.data.cart[e.target.id.substring(3)].count;
//     // 主体数据的数组移除该项
//     this.data.cart.splice(e.target.id.substring(3), 1);
//     // 更新data数据对象
//     this.setData({
//         cart: this.data.cart,
//         total: this.data.total,
//         goodsCount: this.data.goodsCount
//     })
//     // 主体数据重新赋入缓存内
//     try {
//         wx.setStorageSync('cart', this.data.cart)
//     } catch (e) {
//         console.log(e)
//     }
// }
// })

// page/component/new-pages/cart/cart.js
Page({
  data: {
    carts:[],               // 购物车列表
    hasList:false,          // 列表是否有数据
    totalPrice:0,           // 总价，初始为0
    selectAllStatus:true,    // 全选状态，默认全选
    obj:{
        name:"hello"
    }
  },
  onShow() {
    this.setData({
      hasList: true,
      carts:[
        {id:1,title:'智能动感单车C1 Lite',image:'http://82.157.94.115:2009/static/images/goods1.PNG',num:1,price:1849,selected:true},
        {id:2,title:'乳酸菌发酵 果蔬饮',image:'http://82.157.94.115:2009/static/images/goods2.PNG',num:1,price:71,selected:true}
      ]
    });
    this.getTotalPrice();
  },
  /**
   * 当前商品选中事件
   */
  selectList(e) {
    const index = e.currentTarget.dataset.index;
    let carts = this.data.carts;
    const selected = carts[index].selected;
    carts[index].selected = !selected;
    this.setData({
      carts: carts
    });
    this.getTotalPrice();
  },

  /**
   * 删除购物车当前商品
   */
  deleteList(e) {
    const index = e.currentTarget.dataset.index;
    let carts = this.data.carts;
    carts.splice(index,1);
    this.setData({
      carts: carts
    });
    if(!carts.length){
      this.setData({
        hasList: false
      });
    }else{
      this.getTotalPrice();
    }
  },

  /**
   * 购物车全选事件
   */
  selectAll(e) {
    let selectAllStatus = this.data.selectAllStatus;
    selectAllStatus = !selectAllStatus;
    let carts = this.data.carts;

    for (let i = 0; i < carts.length; i++) {
      carts[i].selected = selectAllStatus;
    }
    this.setData({
      selectAllStatus: selectAllStatus,
      carts: carts
    });
    this.getTotalPrice();
  },

  /**
   * 绑定加数量事件
   */
  addCount(e) {
    const index = e.currentTarget.dataset.index;
    let carts = this.data.carts;
    let num = carts[index].num;
    num = num + 1;
    carts[index].num = num;
    this.setData({
      carts: carts
    });
    this.getTotalPrice();
  },

  /**
   * 绑定减数量事件
   */
  minusCount(e) {
    const index = e.currentTarget.dataset.index;
    const obj = e.currentTarget.dataset.obj;
    let carts = this.data.carts;
    let num = carts[index].num;
    if(num <= 1){
      return false;
    }
    num = num - 1;
    carts[index].num = num;
    this.setData({
      carts: carts
    });
    this.getTotalPrice();
  },

  /**
   * 计算总价
   */
  getTotalPrice() {
    let carts = this.data.carts;                  // 获取购物车列表
    let total = 0;
    for(let i = 0; i<carts.length; i++) {         // 循环列表得到每个数据
      if(carts[i].selected) {                     // 判断选中才会计算价格
        total += carts[i].num * carts[i].price;   // 所有价格加起来
      }
    }
    this.setData({                                // 最后赋值到data中渲染到页面
      carts: carts,
      totalPrice: total.toFixed(2)
    });
  }

})